The present disclosure relates in general to the field of computer storage systems and, more particularly, to a method for storage device masking in a storage area network and a storage controller and storage subsystem for using such a method.
The demand for data storage capacity in computer networking environments increases dramatically each year. One of the reasons driving such demand is an increase in the number of data-intensive tasks conducted over networking environments. Example of such tasks include multimedia applications, data warehousing, online transaction processing, and medical imaging. Along with this need for increased storage capacity, users demand faster access to the data and the ability to share pooled data among a large number of users. In addition to these demands, many network operators desire the ability to efficiently change the amount of storage available to a network and to more efficiently provide maintenance to the existing storage.
A storage area network (SAN) is a network developed to address many of the above concerns. A conventional SAN includes a collection of data storage devices (also known as a xe2x80x9cstorage poolxe2x80x9d) communicatively coupled to a plurality of hosts such as workstations and servers. The storage devices in a SAN can be co-located, which allows for easier maintenance and easier expandability of the storage pool. In the present disclosure, the term xe2x80x9chostxe2x80x9d and xe2x80x9cserverxe2x80x9d are used interchangeably, with the understanding that a xe2x80x9cserverxe2x80x9d is one type of xe2x80x9chost.xe2x80x9d
The hosts can access the storage pool using Fibre Channel protocol, which functionality is generally well known. The Fibre Channel protocol can serve as a common physical layer to transport multiple upper layer protocols such as SCSI, IP, HiPPI, and others. In such a system, the hosts and the data storage devices are connected to a Fibre Channel xe2x80x9cfabric.xe2x80x9d
A SAN can be configured such that hosts access the data storage devices through the fabric using small component system interconnect (SCSI) protocol. The SCSI protocol assigns logical unit numbers (LUNs) to the data storage devices. The hosts can then access the data storage devices by reference to the SCSI LUNs.
A SAN can have flexibility in assigning LUNs to data storage devices in a data storage pool. For example, a single data storage device may have more than one LUN. Alternatively, if multiple data storage devices are grouped into RAID volume, a single LUN can be assigned to the RAID volume.
One problem with conventional SANs arises if a server coupled to the SAN uses the MICROSOFT WINDOWS NT operating system. When a server operating under WINDOWS NT boots, the operating system automatically assigns all visible storage to the server. For example, if a particular server detects several LUNs, it will assume each LUN is available for its use. Therefore, if multiple WINDOWS NT servers are attached to a storage pool, each server can attempt to take control of each LUN in the storage pool. This situation can lead to conflicts when more than one server attempts to access the same LUN.
One conventional solution to the above problem is placing masking software on each server in the SAN. For example, one such masking software solution is the OPENMANAGE STORAGE CONSOLIDATION SOFTWARE, manufactured by DELL COMPUTER CORPORATION. This software permits up to four Windows NT servers to share a common data storage pool without access conflicts, and allows storage to be reapportioned among servers without taking the servers off-line. The storage consolidation software runs in each WINDOWS NT server and masks particular LUNs from the server, which prevents the operating system from assigning that LUN.
There are several technical difficulties with placing masking software on-each server attached to the SAN. First, the software must be installed on each server connected to the fabric. Such a requirement is inefficient and can lead to configuration management problems as well as data corruption if the masking software is inadvertently left off of a host connected to the fabric. Furthermore, due to this problem, resources must be expended to periodically check the configuration of each server attached to the SAN.
Another difficulty with such a solution arises when servers employing operating systems other than WINDOWS NT, such as NETWARE or UNIX, are attached to the SAN. In such a SAN, the masking software must be ported to operate with each different operating system.
In accordance with the present disclosure, a method and systems using the method for storage device masking in a storage area network are disclosed that provide significant advantages over prior developed systems. The present embodiments can place masking capability at a central location and avoid the need to place masking capability on each host attached to a SAN.
According to one aspect of the present disclosure, a method includes receiving instructions for associating a subset of a plurality of logical storage devices with a particular host. A request from the particular host is received. The request includes a request for identification of available logical storage devices. The request is responded to by identifying the subset of logical storage devices as available.
According to another aspect of the present disclosure, a storage controller using a method for storage device masking includes a CPU. A computer readable medium is coupled to the CPU. An adapter is also coupled to the CPU, the adapter for interfacing to a fabric of a storage area network (SAN). Further coupled to the CPU is a storage interface for interfacing with a storage pool. The storage pool can be a plurality of logical storage devices. The storage controller also includes a masking engine stored upon the computer readable medium. The masking engine includes instructions operable to be executed by the CPU. The masking engine is operable to receive instructions for associating a subset of the plurality of logical storage devices with a particular host coupled to the fabric. The masking engine is further operable to receive a request from the particular host requesting identification of available logical storage devices. The masking engine is also operable to respond to the request by identifying a LUN of the subset of logical storage devices as available.
According to a further aspect of the present disclosure, a storage subsystem includes a plurality of physical storage devices coupled to the adapter of a storage controller as recited above. The plurality of physical storage devices are arranged into a plurality of logical storage devices.
According to an additional aspect of the present disclosure, a fiber channel switch includes a CPU and a computer readable medium coupled to the CPU. A port is coupled to the CPU for interfacing to a computing device to form a fibre channel network. A masking engine is stored upon the computer readable medium. The masking engine includes instructions operable to be executed by the CPU. The masking engine is operable to receive instructions for associating a subset of a plurality of logical storage devices with a particular host coupled to the fibre channel network. The masking engine can further recognize a request from the particular host. The request can be for identification of available logical storage devices. The masking engine can then modify a response to the request such that the response identifies the subset of logical storage devices as available.
It is a technical advantage of the present disclosure that it performs the masking features required when certain hosts are connected to a SAN. This eliminates the need for masking software on each host connected to a SAN.
It is another technical advantage that it eliminates the need to port masking software to different operating systems when operating a SAN with hosts running multiple types of operating systems. This in turn allows for increased scalability of SANs and reduces the resources necessary to maintain and upgrade a SAN.